iT邦幫忙

2024 iThome 鐵人賽

DAY 4
2

微前端的優劣分析

既然產生這種架構必然會產生一些好處,也相對帶來一些壞處。雖然推廣了微前端,但也不是什麼問題都要用微前端解決。俗話說,「不要拿了錘子,看到什麼都是釘子」,還是要依照團隊需要和專案規劃來設計架構,依照必須必須性去導入。

優點

首先是好處:

  • 所有架構各自為政,也可以輕易插拔這些服務元件,首先是解耦。就算特定應用有破壞性損壞,也可以大幅降低對整個應用產生的影響,最壞的情況就是一個微應用為單位崩潰,而不會導致整個應用架構崩潰。
  • 再來就是應付大型團隊可以很好的去拆分職責,每個拆出去的 Repository 都可以獨立運行,選用自己想要的技術,並且各自為政不影響運行。
  • 因為是單一功能部署,所以 CI/CD 的運行更快完成。
  • 因為每一個功能都是基於被拆分的專案去開發,所以沒有超大型專案的維護壓力,只有各自小專案的規模。這樣開發節奏更快速,也可以承受更多工程師同時進行功能開發。

缺點

當然,有好處就有壞處:

  • 載入的 Application 因為都拆分好幾塊,總體載入程式碼量比較大,通常會消耗更多流量成本。
  • 功能操作限制多,不能操作 Browser Single State,否則狀態會同步異常,所以需要比較完善的團隊規範。
  • 使用的函式庫或框架限制多,不能任意選用套件。
  • 跨微前端溝通方式複雜且麻煩,也不同於以往使用框架使用直覺的溝通方式。

總結

選用一個技術勢必會帶來好處與副作用,挑選合適時宜的解決方案解決當前的問題。微前端終究只是一套管理方案,如果在小團隊下根本難以看到好處,隨著團隊規模增加,才能逐漸看到他的好處呈現出來。但實質微前端並沒有解決商業問題,它其實是創造另一種管理思維。


上一篇
(三) 我是怎麼樣開始寫微前端?
下一篇
(五) 常見的微前端解決方案
系列文
前端也可以搞微服務?!前端最複雜的一種架構30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言